Generating and validating pixel coordinates of a touch screen display

ABSTRACT

An enhanced touch-screen display system is disclosed for generating pixel coordinate estimates corresponding to a location on a display screen touched by a user. The system is an analog resistive touch-screen display system having a processor and associated software algorithms to allow for the calibration and validation of pixel coordinate estimates as an integral part of the real-time generation of the pixel coordinate estimates. Multiple calibrated pixel coordinate estimates are generated and processed at a pre-defined sampling rate to determine a valid pixel position to minimize sampling delays due to settling times. The x-axis position is also validated before the system attempts to generate a y-axis position to avoid the wasted time for generating y-axis estimates when x-axis estimates are corrupted. Noisy estimates are inherently reduced in the touch-screen display system by providing shunts across certain drivers in the system that also allow for detection of a “no touch” state.

BACKGROUND OF THE INVENTION

This disclosed embodiment relates to a touch-screen display system forgenerating pixel coordinate estimates responsive to a user touching(pressing a key on) a display screen, and more particularly relates toimproving the efficiency of generating such pixel coordinate estimatesthrough enhanced techniques of calibration and validation of theestimates.

In a typical touch-screen display system, an x-axis coordinate positionis sampled and then a y-axis coordinate position is sampled to indicatea pixel location where a user has touched the display screen. If thesamples are corrupted by noise or by drift of some parameter of thesystem, then these samples yield an incorrect indication of where theuser has touched the display screen.

Typically, the system is controlled to insert timing delays into thesampling process to allow the various x-axis and y-axis drivers tosettle out as they are switched back and forth between x and y so noisyestimates are avoided.

Calibration routines are typically run which require the user to assistin this calibration effort by touching various known locations on thedisplay screen and/or require implementing look-up tables andpre-calibrated cables in the system.

Also, in many touch-screen display systems, only an active touch of thedisplay screen (or apparent touch caused by system noise) is detected.Detecting the absence of a touch (key press) and reducing thepossibility of a false touch caused by noise is often just as desirableas detecting the position of an active touch.

U.S. Pat. No. 6,246,394 to Kalthoff et al. includes a conventionalanalog resistive touch-screen display assembly 2. It employs a 4-wirearrangement for taking measurements. U.S. Pat. No. 6,016,140 to Blouinet al. is directed to a system and method that uses look-up tables andcalibration cables for calibration. U.S. Pat. No. 5,751,276 to Shih isdirected to a method for calibrating touch panel displays using mappingtransfer information. U.S. Pat. No. 5,241,139 to Gungl et al. determinesthe position of a member contacting a touch screen by trackingcoordinates. U.S. Pat. No. 4,145,748 to Eichelberger et al. includes acharge transfer analog-to-digital converter for a digital readingobtained for a “no touch” condition stored in memory, comparing digitalreadings from each pad to the “no touch” reading stored in memory.

An approach to generating pixel coordinate estimates that minimizessampling delays, reduces corruption of estimates due to noise,eliminates the need for user-interactive calibration, enhances ESDprotection, or provides more than one of these features is desired.

BRIEF SUMMARY OF THE INVENTION

One aspect of the disclosed embodiment is a calibrated touch-screendisplay system for generating a pixel coordinate estimate responsive toa user touching a display screen. In other words, the system detectsthat the screen has been touched, and determines “coordinates,” such asa vertical position and a horizontal position on the screen, indicatingwhere it has been touched.

“Pixels” are the elements or building blocks arranged on the screen todisplay an image. The pixels may be displayed on, for example, an LCDdisplay or other active display, or may be the coordinates of featureson a passive display, such as a panel with permanent indicia applied toit.

Apparatus for calibrating the touch-screen display system is provided.“Calibrating” means determining and correcting errors in the estimatedcoordinates, so the measured coordinates are accurate. This apparatusincludes a processor that uses the digital signals it receives from thetouch-screen to produce calibrated pixel coordinate estimates. Thiscalibration is performed during real-time generation of the pixelcoordinate estimates without the need for any extraordinary input by auser of the system. In other words, the calibrated estimates areproduced essentially at the same time the coordinate estimates areproduced, so the system automatically recalibrates itself as it is used.Automatic calibration reduces or eliminates the need for manualrecalibration.

Another aspect of the disclosed embodiment is an apparatus forgenerating and processing multiple calibrated pixel coordinate estimatesat a pre-defined sampling rate to determine valid pixel position inorder to minimize sampling delays due to settling times. The x-axisposition is validated before the system attempts to generate a y-axisposition so as not to waste time generating y-axis estimates when x-axisestimates are not valid. Shunts are designed in conjunction with thepre-defined sampling rate to establish pre-determined settling times(corresponding to discharge rates of capacitance on the analoginterfaces) such that voltage levels of the analog interfaces can besampled and processed by the system to indicate a “no touch” state ofthe system.

A method for calibrating the touch-screen display system is provided.This method includes generating digital signals to produce calibratedpixel coordinate estimates. This calibration is performed duringreal-time generation of the pixel coordinate estimates without the needfor any extraordinary input by a user of the system. In other words, thecalibrated estimates are produced essentially at the same time thecoordinate estimates are produced, so the system automaticallyrecalibrates itself as it is used.

Another aspect of the disclosed embodiment is a method for generatingand processing multiple calibrated pixel coordinate estimates at apre-defined sampling rate to determine valid pixel position in order tominimize sampling delays due to settling times. The x-axis position isvalidated before the system attempts to generate a y-axis position so asnot to waste time generating y-axis estimates when x-axis estimates arenot valid. Noisy estimates are inherently reduced in the touch-screendisplay system employing unique shunting techniques in conjunction withdriving techniques in the system. These shunting techniques are used inconjunction with a pre-defined sampling rate to establish pre-determinedsettling times (corresponding to discharge rates of capacitance on theanalog interfaces) such that voltage levels on these analog interfacescan be sampled and processed by the system to indicate a “no touch”state of the system.

By using the foregoing techniques, an approach to generating pixelcoordinate estimates that minimizes sampling delays, reduces corruptionof estimates due to noise, enhances ESD protection, and eliminates theneed for user-interactive calibration is achieved.

A further aspect of the invention is a method of determining a touchscreen coordinate for a touch screen. The method comprises the steps of:turning on the driver of the coordinate to be measured; measuringminimum, maximum, and raw position data for the coordinate beingmeasured; and determining the coordinate position as a function of theraw position in relation to a coordinate range.

An additional aspect of the invention is an apparatus determining atouch screen coordinate for a touch screen. The apparatus comprises acontroller turning on the driver of the coordinate to be measured;circuitry on devices measuring minimum, maximum, and raw position datafor the coordinate being measured; and a controller determining thecoordinate position as a function of the raw position in relation to acoordinate range.

Yet another aspect of the invention is a method of determining whetheror not a touch screen has been touched. The method comprises the stepsof: providing an analog to digital converter which supplies an analog todigital reading; reading a minimum bit level; determining whether thereading is smaller than a minimum bit level; and determining the absenceof a user touch if the reading is less than the minimum bit level.

Still another aspect of the invention is apparatus determining whetheror not a touch screen has been touched. The apparatus comprisescircuitry providing an analog to digital reading from an analog todigital converter; a controller reading a minimum bit level; a computingelement determining whether the reading is smaller than the minimum bitlevel; and a controlling element determining the absence of a user touchif the modified reading is less than a minimum bit level.

A yet further aspect of the invention is a method of speeding up thereading of analog to digital converter signals to a touch screen. Themethod comprises the steps of: reading a first coordinate of acoordinate pair at a first time; consecutively reading the samecoordinate at a second time; determining if the absolute value of thedifference between the first coordinate and the consecutive coordinateis less than a predetermined value; and quantifying, responsive to thedifference determining step the coordinate position as a function of thefirst or the consecutive coordinate.

A still further aspect of the invention is apparatus speeding up thereading of analog to digital converter signals to a touch screen. Theapparatus comprises circuitry reading a first coordinate of a coordinatepair at a first time; circuitry consecutively reading the samecoordinate at a second time; a controller element determining if theabsolute value of the difference between the first coordinate and theconsecutive coordinate is less than a predetermined value; and acomputing element, response to the controller element quantifying thecoordinate position as a function of the first or the consecutivecoordinate.

A yet further aspect of the invention is a method of determining whetheror not a touch screen has been touched. The method comprises the stepsof: reading a first coordinate of a coordinate pair at a first time;consecutively reading the same coordinate at a second time; determiningif the absolute value of the difference between the first coordinate andthe consecutive coordinate is less than a predetermined value; andquantifying, responsive to the difference determining step thecoordinate position as a function of the first or the consecutivecoordinate.

A still further aspect of the invention is apparatus determining whetheror not a touch screen has been touched. The apparatus comprisescircuitry reading a first coordinate of a coordinate pair at a firsttime; circuitry consecutively reading the same coordinate at a secondtime; a controller element determining if the absolute value of thedifference between the first coordinate and the consecutive coordinateis less than a predetermined value; and a computing element, response tothe controller element quantifying the coordinate position as a functionof the first or the consecutive coordinate.

Another aspect of the invention is in an apparatus for enablingdetection of a “no touch” state of a touch-screen display system forgenerating pixel coordinate estimates responsive to a user touching adisplay screen. The touch-screen display system comprises: at least onebus bar; at least one driver electrically connected to said at least onebus bar to selectively switch the at least one bus bar between at leasttwo of a plurality of electrical potentials wherein the at least onedriver is selected to have an off state impedance establishing apre-determined discharge rate.

Yet another aspect of the invention is in an apparatus for enablingdetection of a “no touch” state of a touch-screen display system forgenerating pixel coordinate estimates responsive to a user touching adisplay screen. The touch-screen display system comprises: at least onebus bar; at least one driver electrically connected to said at least onebus bar to selectively switch the at least one bus bar between at leasttwo of a plurality of electrical potentials wherein the at least onedriver is controlled to establish pre-determined discharge rates.

Still another aspect of the invention is a method of determining whetheror not a touch screen has been touched. The method comprises the stepsof: providing an analog to digital converter which supplies an analog todigital reading; reading a maximum bit level; determining whether thereading is smaller than the maximum bit level; and determining theabsence of a user touch if the modified reading is less than the maximumbit level.

An additional aspect of the invention is an apparatus determiningwhether or not a touch screen has been touched. The apparatus comprises:circuitry or the like providing an analog to digital reading from ananalog to digital converter; circuitry or the like reading a maximum bitlevel; circuitry or the like determining whether the reading is smallerthan the maximum bit level; and circuitry or the like determining theabsence of a user touch if the reading is less than a maximum bit level.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of certain elements of thetouch-screen display system made in accordance with the disclosedembodiment, particularly showing the shunts and the 8-wire samplingconfiguration.

FIG. 2 is a schematic block diagram of the processor of the touch-screendisplay system with certain associated software algorithms including avalidity algorithm, calibration algorithm, and correction algorithm.This processor interfaces to the elements in FIG. 1.

FIG. 3 is a flowchart of the calibration algorithm utilized by theprocessor shown in FIG. 2.

FIG. 4 is a flowchart of the validity algorithm utilized by theprocessor shown in FIG. 2.

FIG. 5 is a schematic block diagram of the active areas of the touchscreen display and analog resistive screens of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

The features of one embodiment enable improved efficiency in generatingpixel coordinate estimates through enhanced techniques of calibrationand validation of the estimates. As used in this specification andclaims, a pixel coordinate estimate corresponds to that pixel positionon the touch-screen display that is an estimate of where a user hastouched the screen. This embodiment offers a more efficient approach togenerating pixel coordinate estimates that minimizes delays, reducescorruption of estimates due to noise, enhances ESD protection, andeliminates the need for user-interactive calibration. The pixelcoordinate estimates are characterized as digital signal values in aprocessor of the touch-screen display system. These digital signalvalues are generated, in part, from a set of analog voltage levels,sampled from analog resistive screens in the touch-screen displaysystem, corresponding to the position of where a user has touched thedisplay screen.

FIG. 1 is a schematic block diagram of certain elements of thetouch-screen display system 10 made in accordance with one embodiment ofthe invention. These elements comprise analog resistive screens 20 and30 that include conductive bus bars 40, 50, 60, and 70, and resistivematerials 80 and 90. An active area 25 of the screens 20, 30 is definedby the overlap of the screens 20, 30 as the display screen, and anactive area of the display is shown by reference numeral 35. Additionalelements comprise drivers 100, 110, 120, and 130, analog-to-digitalconverters 140, 150, 160, and 170, and shunts 180 and 190 and capacitors195. The capacitors 195 may be inherent or added physical elements.

Referring to FIG. 1, the resistive material 90 of the analog resistivescreen 30 is electrically connected between a top bus bar 40 and abottom bus bar 50. The resistive material 80 of the analog resistivescreen 20 is electrically connected between a left bus bar 60 and aright bus bar 70. Each bus bar is electrically connected to anassociated driver 100, 110, 120, 130 and an analog-to-digital converter140, 150, 160, 170 as shown in FIG. 1. In this embodiment of theinvention, the drivers 100, 110, 120, 130 are bi-polar transistors eachcomprising a base terminal 200, an emitter terminal 210, and a collectorterminal 220. The drivers are electrically connected to the associatedbus bars at the collector terminals 220 and provide reference signalsthrough reference signal interfaces 230, 240, 250, and 260 to the busbars when the drivers are turned on. The analog-to-digital convertersare electrically connected to the bus bars through analog interfaces270, 280, 290, and 300.

FIG. 2 is a schematic block diagram of the processor 310 of thetouch-screen display system with its associated software algorithmscomprising a validity algorithm 320, a calibration algorithm 330, and acorrection algorithm 340. This processor 310 interfaces to the elementsin FIG. 1.

The base terminals 200 of the drivers 100, 110, 120, and 130 interfaceto the processor 310 through driver signal interfaces 350, 360, 370, and380 as shown in FIGS. 1 and 2. The analog-to-digital converters 140,150, 160, and 170 interface to the processor 310 through digital signalinterfaces 390, 400, 410, and 420.

The shunt 180 electrically connects across the driver 100 at its emitterterminal 210 and collector terminal 220. The shunt 190 electricallyconnects across the driver 110 at its emitter terminal 210 and collectorterminal 220. In this embodiment of the invention, the shunts 180 and190 are a resistor and capacitor 195 in parallel but could be resistorsor some other combination of components to establish pre-determineddischarge rates which determine settling times on the analog interfaces.Alternatively, these components may not be needed if either low side orthe high drivers 100, 110, 120, 130 are selected to have an appropriateoff state impedance to establish pre-determined discharge or chargerates or if the low side or high drivers 100, 110, 120 130 arecontrolled to establish pre-determined discharge or charge rates. Also,the shunts 180, 190 could be placed in parallel to the high side drivers120, 130 or the low side drivers 100, 110.

The eight signal interfaces 230-300 form an 8-wire configuration thatallows for alternate sampling of analog voltage signals and referencesignals with only one analog-to-digital converter/driver pair for eachbus bar.

In a touch-screen display system of one embodiment of the invention, auser presses at a particular location (usually represented as a key) ona display screen. The system samples an x-axis 430 and then a y-axis 440of the display screen to determine the pixel coordinate locations ofwhere the screen is touched. In the present invention, the x sample isvalidated before the y sample is examined.

Referring to FIGS. 1 and 2, the processor 310 drives a first axis of thetouch-screen display system 10 such as the horizontal or x-axis 430 byturning on the drivers 110 and 130. At this time the drivers 100 and120, corresponding to the vertical or y-axis 440, are turned off by theprocessor 310. When the driver 110 is turned on, it establishes a lowimpedance reference path through the reference signal interface 240 fromthe right bus bar 70 to a ground reference 450. When the driver 130 isturned on, it provides a voltage reference through the voltage referenceinterface 460 to the left bus bar 60 through the reference signalinterface 260.

The voltage reference applied to the left bus bar 60 and the groundreference applied to the right bus bar 70 in conjunction with theresistive material 80 creates a varying voltage potential with respectto the ground reference 450 across the analog resistive screen 20 atdifferent points along the x-axis 430. When a user touches the displayscreen, the analog resistive screen 30 makes electrical contact with theanalog resistive screen 20 at a defined point having a particular x-ypixel location. The analog resistive screen 30 is then at the voltagepotential corresponding to that point along the x-axis 430 on the analogresistive screen 20. The bus bars 40 and 50 are, therefore, also at thissame potential with respect to the ground reference 450, creating ananalog voltage signal on analog interfaces 270 and 290.

Since the driver 120 is turned off, this allows for a correctmeasurement of the analog voltage signal on the upper bus bar 40 at theanalog interface 290 by the analog-to-digital converter 160.

Alternatively, since the driver 100 is turned off, it allows a highimpedance path to exist between the lower bus bar 50 and the groundreference 450 through the shunt 180. The shunt 180 has a high impedancevalue compared to the impedance of the analog resistive screen 20. Thisallows for a correct measurement of the analog voltage signal on theanalog interface 270 by the analog-to-digital converter 140.

The analog voltage signal on the analog interface 290 is converted to adigital signal, known as X_(raw), on the digital signal interface 410and represents a pixel location along the x-axis 430 corresponding towhere the user is touching the display screen. This digital signalX_(raw) is read by a processor 310. The left bus bar voltage referencelevel, known as X_(max), on the analog interface 300 and the right busbar voltage reference level, known as X_(min), on the analog interface280 are also digitized and read by the processor 310 in a similarmanner. The 8-wire configuration allows for the sampling of thesesignals and reference levels with only one analog-to-digitalconverter/driver pair for each bus bar.

Once the x-axis pixel position samples (X_(raw), X_(max), X_(min)) havebeen read and validated, the process is preferably repeated for they-axis 440 in a similar manner where, now, the drivers 130 and 110 areturned off and the drivers 100 and 120 are turned on. A varying voltagepotential is created across the analog resistive screen 30 and theanalog resistive screen 20 is at the voltage potential corresponding tothe pixel location along the y-axis 440 where the two screens aretouching. In this way, the digital signal, known as Y_(raw), on thedigital interface 420 is generated and represents a pixel location alongthe y-axis 440 corresponding to where the user is touching the displayscreen. This digital signal Y_(raw) is read by the processor 310. Theupper bus bar voltage reference level, known as Y_(max), on the analoginterface 290 and the lower bus bar voltage reference level, known asY_(min), on the analog interface 270 are also digitized and read by theprocessor 310 in a similar manner.

Touch-screen display systems often need to be calibrated, for example,to eliminate errors in the pixel coordinate estimates introduced bydrifting voltage references and ground references, or by changes in theresistive characteristics of the analog resistive material. Factors suchas temperature, humidity, and aging can cause these undesirable effects.Another feature of the disclosed embodiment is the technique that isused for calibration. The previously described technique of sampling thesignals and references (X_(raw), X_(max), X_(min), Y_(raw), Y_(max),Y_(min)) allows for the calibration technique to be implemented since,by measuring the actual voltage levels on the analog resistive screens,any errors can be calibrated out as described below.

FIG. 3 is a flowchart showing the steps of the calibration algorithm 330that is called by the validity algorithm 320 as part of its operation.In step 470 of the calibration algorithm 330, the processor 310 samplesthe signals and references for a particular driven axis such as signalsand references X_(raw), X_(max), X_(min) or signals and referencesY_(raw)) Y_(max), Y_(min) represented more generally in the flowchart asV_(raw), V_(max), V_(min). In step 480, the processor 310 calculates anumerator parameter as (V_(raw)-V_(min)) representing the voltage levelat the pixel coordinate position on the analog resistive screen withrespect to the ground reference. In step 490, the processor 310calculates a denominator parameter as (V_(max)−V_(min)) representing theactual voltage potential (or range) applied across the analog resistivescreen. In step 500, the processor 310 calculates a ratio parameter asthe numerator parameter divided by the denominator parameter or(V_(raw)−V_(min))/(V_(max)−V_(min)). This ratio parameter represents thepercentage of how far along the axis the screen was touched by the user.As a final step 510, the processor 310 multiplies the ratio parameter bythe known number of pixels N_(pix) across the axis of the screen. Thisyields a calibrated pixel coordinate estimate in units of pixels for theaxis. This process can be done in real-time during normal operation ofthe touch-screen display system and does not require the user to touchthe display screen at any pre-defined locations. There is no calibrationprocess that needs to be done separate from normal operation. Thecalibration process is transparent to the user. This calibration processis accomplished for each axis of the touch-screen display system.

Even though the pixel coordinate estimates have errors, for example, dueto drift calibrated out by the calibration algorithm 330, there canstill be errors due to noise. One way to minimize noise due to suchthings as settling times of the drivers is to insert significant delaytimes into the sampling process to allow the drivers and various signalsto settle out. This is inefficient and wastes time and does notnecessarily eliminate noise from other sources.

FIG. 4 is a flowchart of a validity algorithm 320 that is used tocontrol how pixel coordinate estimates are sampled and validated asbeing good estimates. This algorithm has the effect of minimizingsampling delay times and eliminating noisy estimates that cause errorsin determining the pixel position. In steps 520, 530, and 540 of thevalidity algorithm 320, the processor 310 drives the x-axis 430 aspreviously described by turning on the drivers 110 and 130 to determinea value for X_(pos). In determining X_(pos), a first calibrated pixelcoordinate estimate X_(raw1) and a second calibrated pixel coordinateestimate X_(raw2) are generated, preferably consecutively, by theprocessor 310 using the calibration algorithm 330. Although thepreferred embodiment is described in terms of two samples or estimates,a person of ordinary skill in the art will recognize that three or moresamples may be also used, and either averaged, prorated, or combined orselected in any conventional manner. These estimates are separated intime by a pre-determined sampling interval. In step 550, the processorgenerates a first comparison parameter value as |X_(raw1)−X_(raw2)| andcompares this first comparison parameter value to a pre-determined firstthreshold value N₁. If the first comparison parameter value is greaterthan N₁, then the estimates are defined to be invalid and the processor310 makes another attempt to generate a valid estimate. If the firstcomparison parameter value is less than N₁, then the processorpreferably takes X_(raw2) as the valid pixel coordinate estimate, nowX_(pos), for the x-axis and proceeds to generate y-axis estimates.Alternately, X_(raw1) may be selected as the valid pixel coordinates, orX_(raw1) and X_(raw2) may be combined either pro rata or using any otherformula or function. The processor makes, at most, a pre-determinednumber of attempts to generate a valid estimate for the x-axis. Thispre-determined number of attempts is typically two in the disclosedembodiment but may be varied to three or more. If, after thispre-determined number of attempts, a valid x-axis estimate is notdetermined, then the processor defines a “no touch” state and generatesa “no touch” parameter value to indicate the “no touch” state. This “notouch” state is interpreted as the display screen not being touched by auser.

The pre-determined sampling interval, the shunt 180, and thepredetermined difference N₁ are all chosen such that the resultantsettling time (corresponding to a discharge rate of the capacitors 195associated with the corresponding analog interfaces and drivers) allowsa distinguishing voltage difference between two successive samples atthe analog interface 290, and therefore at the input to theanalog-to-digital converter 160, when the display screen is not beingtouched. This voltage difference between samples when the display screen25 is not being touched is different than the voltage difference betweensamples when the display screen 25 is being touched because the settlingtime (discharge rate) is changed when the display has been touched. Thisis because, when the display screen 25 is being touched, the sensingscreen is actively being charged and the settling time is based muchmore on the low impedance of the drivers than the higher impedance ofthe shunt. Therefore, the shunt 180 or 190, in conjunction with thesampling interval, N₁, and validity algorithm allows determination of avalid estimate of a “no touch” state. By generating at least twoestimates, the sampling time interval between the estimates can bepre-defined such that the need for significant delay times is eliminatedwhen generating the estimates. This also allows inexpensive capacitance195 to be added to the analog interfaces and drivers for enhanced ESDprotection, increasing the settling times without increasing the delaybefore sampling. This added capacitance increases the settling times ofthe analog interfaces but the method of sampling and validating thesamples eliminates the need to wait until after these settling timesbefore sampling. In this way, more expensive components for ESDprotection such as zener diodes can be avoided.

Once a valid x-axis pixel coordinate estimate has been determined, theprocessor 310 then attempts to generate a valid y-axis pixel coordinateestimate in a similar manner to determine a value for Y_(pos). Steps560-600 in the validity algorithm 320 illustrate this process. A firstestimate Y_(raw1) is generated along with a second estimate Y_(raw2).Although the preferred embodiment is described in terms of two samplesor estimates, a person of ordinary skill in the art will recognize thatthree or more samples may be also used, and either averaged, prorated,or combined or selected in any conventional manner. A second comparisonparameter value is calculated and compared to a second threshold valueN₂. This threshold value N₂ may be the same as threshold value N₁ ornot, depending on the exact implementation. Y_(raw2) is preferably takenas the valid y-axis estimate, now Y_(pos), if the second comparisonvalue is less than N₂, otherwise the processor attempts to generatevalid pixel coordinate value estimates by starting over at step 520 toagain determine a valid x-axis estimate before determining a validy-axis estimate. Again, after a pre-determined number of attempts, a “notouch” state is defined and a “no touch” parameter value is generated.Similarly, the pre-determined sampling interval, the shunt 190, and thepredetermined difference N₂ are all chosen such that the resultantsettling time (corresponding to a discharge rate of the capacitanceassociated with the corresponding analog interfaces) allows adistinguishing voltage difference between two successive samples at theanalog interface 300, and therefore at the input to theanalog-to-digital converter 170, when the display screen is not beingtouched. Again, this allows inexpensive capacitance 195 to be added tothe analog interfaces and drivers for enhanced ESD protection,increasing the settling times without increasing the wait beforesampling.

If the active areas 25, 35 of the display of the touch-screen displaysystem and analog resistive screens line up and are equivalent by designand the bus bars are at the edges of the active areas of the screens,then the previously calculated calibrated pixel coordinate estimates donot need any further correction. In many touch-screen display systems,however, the bus bars are not at the edge of the active areas of thescreens; there is some lead-in distance between the bus bar and theactive areas of the screens. Additionally, if there is an offset 98, 99between the edges of the active areas of the screens and the display ofthe touch-screen display system, then further corrections to thecalibrated pixel coordinate estimates are made. Generally, these offsets98, 99 are known or determined at time of manufacture but alternativelythe offsets could be determined and entered at a later date.

In this embodiment of the invention, these corrections are made by thecorrection algorithm 340 to the calibrated pixel coordinate estimates asdescribed below.

The correction factors for the distance between the bus bars and theactive area for the x-axis areX _(Lcorrection)=(the greater of the distance between the left bus barand the analog resistive screen active area or the distance between theleft bus bar and the display active area)/distance between the left andright bus bars, andX _(Rcorrection)=(the greater of distance between right bus bar andanalog resistive screen active area or distance between right bus barand display active area)/distance between the left and right bus bars.These two correction factors can be normalized to analog-to-digitalconverter bits by multiplying them by X_(range) which equals(X_(max)−X_(min)), yielding the equationX position(pixels)=pixels_(—) ux*(X _(pos) −X _(min)−(X _(range) *X_(Lcorrection)))/(X _(range)*(1−X _(Lcorrection) −X _(Rcorrection))

-   -   where pixels_ux is the number of display pixels under the active        area of the analog resistive screen along the x-axis.        For the y-axis the correction factors are        Y _(Tcorrection)=(the greater of the distance between the top        bus bar and the analog resistive screen active area or the        distance between the top bus bar and the display active        area)/the distance between the top and bottom bus bars, and        Y _(Bcorrection)=(the greater of the distance between the bottom        bus bar and the analog resistive screen active area or the        distance between the bottom bus bar and the display active        area)/the distance between the top and bottom bus bars.

These two correction factors can be normalized to analog-to-digitalconverter bits by multiplying them by Y_(range) which equals(Y_(max)−Y_(min)), yielding the equationY position(pixels)=pixels_(—) uy*(Y _(pos) −Y _(min)−(Y _(range) *Y_(Bcorrection)))(Y _(range)*(1−Y _(Tcorrection) −Y _(Bcorrection))

-   -   where pixels_uy is the number of display pixels under the active        area of the analog resistive screen along the y-axis.

These equations yield corrected, calibrated pixel coordinate estimates.

If it is desired to have the (0,0) position be defined in the upper leftinstead of the lower left, simply subtract the normalized position fromone before multiplying by pixels in software asY position(pixels)=pixels_(—) uy*[1−(Y _(pos) −Y _(min)−(Y_(range)*Y_(Bcorrection)))/(Y _(range)*(1−Y _(Tcorrection) −Y_(Bcorrection))]

The (0,0) position also can be defined in the upper left instead of thelower left by reversing the low and high side drivers for the y-axis sothat the higher voltage is applied to the bottom bus bar.

A ratiometric analog-to-digital converter may be used instead of thefour analog-to-digital converters and still get the benefits of thecorrections by replacing X_(min) and Y_(min) with zero; and replacingX_(range) and Y_(range) with the maximum count output of theanalog-to-digital converter.

While the invention is described in connection with one embodiment, itwill be understood that the invention is not limited to that oneembodiment. On the contrary, the invention covers all alternatives,modifications, and equivalents within the spirit and scope of theappended claims.

For example, some possible alternatives might include the followingdescribed below. The shunts may be a resistor (possibly for ESDprotection) or some other combination of components to establishpre-defined settling times (discharge rates). The drivers may be someother form of switching circuit besides a bipolar transistor. In thevalidity algorithm, the y-axis could be driven and sampled before thex-axis. The processor does not have to be one entity. It could comprisemultiple hardware units.

Other variations may include the following described below. The validityalgorithm, calibration algorithm, and correction algorithm can beintegrated with each other to a lesser extent or a greater extent. Forexample, the three algorithms could essentially be one large algorithm,or they could be three relatively independent algorithms that operate inconjunction with each other.

The validity algorithm may use some other number of multiple samples peraxis besides just two samples for determination of a valid pixelcoordinate estimate. The validity algorithm may also employ some otherform of comparison parameter such as a ratio of the samples instead of adifference, along with an appropriate, corresponding threshold.Similarly, the correction and calibration algorithm may take more thantwo samples, then use a selected one or more of those samples todetermine a coordinate.

“No touch” detection could be done independent of the validity algorithmby just comparing the value of a single pixel coordinate sample to athreshold for determination of a “no touch” state. This may include, forexample, that the voltage level sampled across the shunt, when thedriver is turned off and the screen is not being touched, is alwayslower than the voltage level sampled when the driver is turned off andthe screen is being touched. In other words, the minimum voltage levelsampled corresponding to the minimum pixel location of an axis isgreater than the “no touch” voltage level.

In summary, the advantages and features found in at least one embodimentof the invention include among others:

No external procedure or touching of specific areas of the displayscreen is required to obtain or maintain calibration. Calibration isautomatic, continuous and does not interfere with use of thetouch-screen display system. A pixel position is generated that isaccurate to sub-pixel precision through the life of the touch-screendisplay system despite temperature variation, humidity variation, agingof components, and initial component variation.

The display active area need not be matched to the active areas of theanalog resistive screens. Delays in sampling due to settling times areminimized and effects of noise are minimized. Minimal software filteringof samples is required for accurate and noise free operation.Inexpensive capacitors can be added to the analog interfaces and driversfor ESD protection instead of using, for example, zener diodes (savingten cents to a dollar per touch screen). This added capacitanceincreases the settling times of the analog interfaces but the method ofsampling and validating the samples eliminates the need to wait untilafter these settling times before sampling. Lower cost components can beused. For example, a more expensive analog-to-digital converter withratiometric inputs is not required. The drivers need not be low voltagedrop and the driver gain need not be high. The tolerances of theresistance in the wiring, analog resistive screen active areas, andtraces need not be tight.

1. (canceled)
 2. (canceled)
 3. (canceled)
 4. (canceled)
 5. (canceled) 6.(canceled)
 7. (canceled)
 8. (canceled)
 9. (canceled)
 10. (canceled) 11.(canceled)
 12. (canceled)
 13. (canceled)
 14. (canceled)
 15. (canceled)16. (canceled)
 17. In a touch-screen display system for generating pixelcoordinate estimates responsive to a user touching a display screen, anapparatus for generating and validating said pixel coordinate estimatescomprising: a processor to determine a first valid pixel coordinateestimate for a first touch-screen axis of said touch-screen displaysystem before determining a second valid pixel coordinate estimate for asecond touch-screen axis of said touch-screen display system.
 18. Theapparatus of claim 17 wherein said processor is adapted to power on saidfirst touch-screen axis of said touch-screen display system and to poweroff said second touch-screen axis of said touch-screen display system.19. The apparatus of claim 18 wherein said first touch-screen axis is anx-axis and said second touch-screen axis is a y-axis.
 20. The apparatusof claim 18 wherein said processor is adapted to generate a first pixelcoordinate estimate corresponding to said first touch-screen axis and asecond pixel coordinate estimate corresponding to said firsttouch-screen axis such that said first pixel coordinate estimate andsaid second pixel coordinate estimate are separated in time by apre-determined sampling interval.
 21. The apparatus of claim 20 whereinsaid processor is responsive to said first pixel coordinate estimate ofsaid first touch-screen axis and said second pixel coordinate estimateof said first touch-screen axis to generate a first comparison parametervalue.
 22. The apparatus of claim 21 wherein said processor is adaptedto read a pre-determined first threshold value.
 23. The apparatus ofclaim 22 wherein said processor is adapted to compare said firstcomparison parameter value to said pre-determined first threshold value.24. The apparatus of claim 23 wherein said processor is adapted toselect said second pixel coordinate estimate of said first touch-screenaxis as a first valid pixel coordinate estimate of said firsttouch-screen axis if said first comparison parameter value is in a firstdefinite relationship to said pre-determined first threshold value. 25.The apparatus of claim 23 wherein said processor is adapted to definesaid first valid pixel coordinate estimate as invalid if said firstcomparison parameter value is in a second definite relationship to saidpre-determined first threshold value.
 26. The apparatus of claim 25wherein said processor is adapted to make, at most, a pre-determinednumber of attempts to generate and select said first valid pixelcoordinate estimate.
 27. The apparatus of claim 25 wherein saidprocessor is adapted to define a “no touch” state as being detected andto generate a “no touch” parameter value to indicate said “no touch”state as being detected when said first valid pixel coordinate estimateis defined as invalid.
 28. The apparatus of claim 26 wherein saidprocessor is adapted to define said “no touch” state as being detectedby generating a “no touch” parameter value to indicate said “no touch”state as being detected if said pre-determined number of attempts isreached and said processor still defines said first valid pixelcoordinate estimate as invalid.
 29. The apparatus of claim 17 whereinsaid processor is adapted to power on said second touch-screen axis ofsaid touch-screen display system and to power off said firsttouch-screen axis of said touch-screen display system.
 30. The apparatusof claim 29 wherein said processor is adapted to generate a first pixelcoordinate estimate corresponding to said second touch-screen axis and asecond pixel coordinate estimate corresponding to said secondtouch-screen axis such that said first pixel coordinate estimate andsaid second pixel coordinate estimate are separated in time by apre-determined sampling interval.
 31. The apparatus of claim 30 whereinsaid processor is responsive to said first pixel coordinate estimate ofsaid second touch-screen axis and said second pixel coordinate estimateof said second touch-screen axis to generate a second comparisonparameter value.
 32. The apparatus of claim 31 wherein said processor isadapted to read a pre-determined second threshold value.
 33. Theapparatus of claim 32 wherein said processor is adapted to compare saidsecond comparison parameter value to said pre-determined secondthreshold value.
 34. The apparatus of claim 33 wherein said processor isadapted to select said second pixel coordinate estimate of said secondtouch-screen axis as a second valid pixel coordinate estimate of saidsecond touch-screen axis if said second comparison parameter value is ina first definite relationship to said pre-determined second thresholdvalue.
 35. The apparatus of claim 33 wherein said processor is adaptedto define said second valid pixel coordinate estimate as invalid if saidsecond comparison parameter value is in a second definite relationshipto said pre-determined second threshold value.
 36. The apparatus ofclaim 35 wherein said processor is adapted to generate and select saidfirst valid pixel coordinate estimate corresponding to said firsttouch-screen axis before making another attempt to generate and selectsaid second valid pixel coordinate estimate corresponding to said secondtouch-screen axis.
 37. The apparatus of claim 36 wherein said processoris adapted to make, at most, a pre-determined number of attempts togenerate and select said second valid pixel coordinate estimate.
 38. Theapparatus of claim 35 wherein said processor is adapted to define a “notouch” state as being detected and to generate a “no touch” parametervalue to indicate said “no touch” state as being detected when saidsecond valid pixel coordinate estimate is defined as invalid.
 39. Theapparatus of claim 37 wherein said processor is adapted to define said“no touch” state as being detected by generating a “no touch” parametervalue to indicate said “no touch” state as being detected if saidpre-determined number of attempts is reached and said processor stilldefines said second valid pixel coordinate estimate as invalid. 40.(canceled)
 41. (canceled)
 42. (canceled)
 43. (canceled)
 44. (canceled)45. (canceled)
 46. (canceled)
 47. (canceled)
 48. (canceled) 49.(canceled)
 50. (canceled)
 51. (canceled)
 52. (canceled)
 53. (canceled)54. (canceled)
 55. (canceled)
 56. (canceled)
 57. (canceled) 58.(canceled)
 59. (canceled)
 60. (canceled)
 61. (canceled)
 62. (canceled)63. (canceled)
 64. (canceled)
 65. (canceled)
 66. (canceled) 67.(canceled)
 68. (canceled)
 69. (canceled)
 70. In a touch-screen displaysystem for generating pixel coordinate estimates responsive to a usertouching a display screen, a method for generating and validating saidpixel coordinate estimates comprising: generating and determining thevalidity of a first valid pixel coordinate estimate for a firsttouch-screen axis of said touch-screen display system before generatingand determining the validity of a second valid pixel coordinate estimatefor a second touch-screen axis of said touch-screen display system. 71.The method of claim 70 further comprising powering on said firsttouch-screen axis of said touch-screen display system and powering offsaid second touch-screen axis of said touch-screen display system. 72.The method of claim 71 wherein said first touch-screen axis is an x-axisand said second touch-screen axis is a y-axis.
 73. The method of claim71 further comprising generating a first pixel coordinate estimatecorresponding to said first touch-screen axis and a second pixelcoordinate estimate corresponding to said first touch-screen axis suchthat said first pixel coordinate estimate and said second pixelcoordinate estimate are separated in time by a pre-determined samplinginterval.
 74. The method of claim 73 further comprising generating afirst comparison parameter value from said first pixel coordinateestimate of said first touch-screen axis and said second pixelcoordinate estimate of said first touch-screen axis.
 75. The method ofclaim 74 further comprising comparing said first comparison parametervalue to a pre-determined first threshold value.
 76. The method of claim75 further comprising selecting said second pixel coordinate estimate ofsaid first touch-screen axis as a first valid pixel coordinate estimateof said first touch-screen axis if said first comparison parameter valueis in a first definite relationship to said pre-determined firstthreshold value.
 77. The method of claim 75 further comprising definingsaid first valid pixel coordinate estimate as invalid if said firstcomparison parameter value is in a second definite relationship to saidpre-determined first threshold value.
 78. The method of claim 77 furthercomprising making, at most, a pre-determined number of attempts togenerate and select said first valid pixel coordinate estimate.
 79. Themethod of claim 77 further comprising defining a “no touch” state asbeing detected and generating a “no touch” parameter value to indicatesaid “no touch” state as being detected when said first valid pixelcoordinate estimate is defined as invalid.
 80. The method of claim 78further comprising a “no touch” state as being detected by generating a“no touch” parameter value to indicate said “no touch” state as beingdetected if said pre-determined number of attempts is reached and saidfirst valid pixel coordinate estimate is still defined as invalid. 81.The apparatus of claim 70 further powering on said second touch-screenaxis of said touch-screen display system and powering off said firsttouch-screen axis of said touch-screen display system.
 82. The method ofclaim 81 further generating a first pixel coordinate estimatecorresponding to said second touch-screen axis and a second pixelcoordinate estimate corresponding to said second touch-screen axis suchthat said first pixel coordinate estimate and said second pixelcoordinate estimate are separated in time by a pre-determined samplinginterval.
 83. The method of claim 82 further comprising generating asecond comparison parameter value from said first pixel coordinateestimate of said second touch-screen axis and said second pixelcoordinate estimate of said second touch-screen axis.
 84. The method ofclaim 83 further comprising comparing said second comparison parametervalue to a pre-determined second threshold value.
 85. The method ofclaim 84 further comprising selecting said second pixel coordinateestimate of said second touch-screen axis as a second valid pixelcoordinate estimate of said second touch-screen axis if said secondcomparison parameter value is in a first definite relationship to saidpre-determined second threshold value.
 86. The method of claim 84further comprising defining said second valid pixel coordinate estimateas invalid if said second comparison parameter value is in a seconddefinite relationship to said pre-determined second threshold value. 87.The method of claim 86 further comprising generating and selecting saidfirst valid pixel coordinate estimate corresponding to said firsttouch-screen axis before again attempting to generate and select saidsecond valid pixel coordinate estimate corresponding to said secondtouch-screen axis.
 88. The method of claim 87 further comprising making,at most, a pre-determined number of attempts to generate and select saidsecond valid pixel coordinate estimate.
 89. The method of claim 86further comprising defining a “no touch” state as being detected andgenerating a “no touch” parameter value to indicate said “no touch”state as being detected when said second valid pixel coordinate estimateis defined as invalid.
 90. The method of claim 88 further comprisingsaid “no touch” state as being detected by generating a “no touch”parameter value to indicate said “no touch” state as being detected ifsaid pre-determined number of attempts is reached and said second validpixel coordinate estimate is still defined as invalid.
 91. (canceled)92. (canceled)
 93. (canceled)
 94. (canceled)
 95. (canceled) 96.(canceled)
 97. (canceled)
 98. (canceled)
 99. (canceled)
 100. (canceled)101. (canceled)
 102. A method of determining a touch screen coordinatefor a touch screen comprising the steps of: turning on the driver of thecoordinate to be measured; measuring minimum, maximum, and raw positiondata for the coordinate being measured; and determining the coordinateposition as a function of the raw position in relation to a coordinaterange.
 103. The method of claim 102 wherein the range is determined as afunction of the difference between the minimum and maximum positiondata.
 104. The method of claim 103 wherein the positioning determiningstep includes subtracting the minimum position data from the rawposition data.
 105. The method of claim 104 wherein the raw, minimum andmaximum position data are used to calibrate the touch screen withoutrequiring specific calibration using input.
 106. The method of claim 104including the further step of turning off the driver of a coordinate notbeing measured.
 107. The method of claim 104 wherein the foregoing stepsare repeated for the other driver whose coordinate is to be determined.108. An apparatus determining a touch screen coordinate for a touchscreen comprising: means for turning on the driver of the coordinate tobe measured; means for measuring minimum, maximum, and raw position datafor the coordinate being measured; and means for determining thecoordinate position as a function of the raw position in relation to acoordinate range.
 109. The apparatus of claim 108 wherein the coordinaterange is determined as a function of the difference between the minimumand maximum position data.
 110. The apparatus of claim 109 wherein thepositioning determining means includes means for subtracting the minimumposition data from the raw position data.
 111. The apparatus of claim110 wherein the raw, minimum and maximum position data are used tocalibrate the touch screen without requiring specific calibration usinginput.
 112. The apparatus of claim 110 further including means forturning off the driver of a coordinate not being measured. 113.(canceled)
 114. (canceled)
 115. (canceled)
 116. (canceled) 117.(canceled)
 118. (canceled)
 119. (canceled)
 120. (canceled) 121.(canceled)
 122. (canceled)
 123. (canceled)
 124. (canceled) 125.(canceled)
 126. (canceled)
 127. (canceled)
 128. (canceled) 129.(canceled)
 130. (canceled)
 131. (canceled)
 132. (canceled) 133.(canceled)
 134. (canceled)
 135. (canceled)
 136. (canceled) 137.(canceled)